<?php

namespace App\Models\Rebate;

use App\Models\BaseModel;

class RebateRulesModel extends BaseModel
{
    /**
     * 与模型关联的数据表。
     *
     * @var string
     */
    protected $table = 'rebate_rules';
    /**
     * 与表关联的主键
     *
     * @var string
     */
    protected $primaryKey = 'id';
    /**
     * 执行模型是否自动维护时间戳。
     *
     * @var bool
     */
    public $timestamps = false;

    /**
     * 可以被批量赋值的属性。
     *
     * @var array
     */
    protected $fillable = array(
        "rebate_id", "month", "money"
    );


    public function aliasRable($alias)
    {
        return $this->setTable($alias);
    }

    /**
     * 查询数据需要过滤掉的属性。
     *
     * @var array
     */

    protected $hidden = array(//        'updated_at'
    );

    //返回关键字段
    public function getTableField()
    {
        return $this->fillable;
    }

    protected function serializeDate(\DateTimeInterface $date)
    {
        return $date->format('Y-m-d H:i:s');
    }

    /**
     * 建表语句
     */
    protected function buildTable($name = '')
    {
        $tablename = $this->table;
        if (!empty($name)) {
            $tablename = $name;
        }
        $table = "CREATE TABLE IF NOT EXISTS  $tablename (
  `id` int(13) UNSIGNED NOT NULL COMMENT 'ID',
  `rebate_id` int(13) UNSIGNED NOT NULL DEFAULT '0' COMMENT '关联的返费id',
  `date_at` datetime DEFAULT NULL COMMENT '规则预定返费时间',
  `money` decimal(8,1) NOT NULL DEFAULT '0.0' COMMENT '返金额'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='财务返费规则表';";
        return $table;
    }

    /**
     * 插入新的字段
     */
    protected function bulidField()
    {
        return [];
    }
}
